Repository navigation
docs: bring skills and crate READMEs back in line with main - #6698
Conversation
Audit every skills/*/SKILL.md and crates/*/README.md against the public API on main after this week's merges, and fix the drift: - publish status: the 12-crate crates.io set (#6663/#6646) — jsonld, engine-serialize and engine-service are now published; unpublished crates lose crates.io/docs.rs badges and `"0.1"` install snippets - default-members (#6649): introspect, canon, substrate claims - zk-query-proofs / mpc / usage-control-policy recipes now compile against current signatures (prover_toml_for, verify_manifest, revoke_prover_toml, AttestedStatusRef::clear, Session fields) - cli: reason summary to stderr (#6641), dump streaming (#4313), jsonld-compact, bench --json, flag list - substrate: #3825 float comparison boundary fixed by #6671 - vc: proof-option validation (#6589) and EdDSA config change (#6585) - lws: per-resource WAC on notifications (#6388), reclaim race (#6675) - stale API names, test paths, floors, see-also links; router lists trust-graph - trust-expression spec: last github.com/jeswr/sparq link Closes #6327 Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01MUY53os6oSKvmT9gCqdzud
docs-quality quick-gates' cache-posture test fails on every PR (main too) because this step had no save-if. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01MUY53os6oSKvmT9gCqdzud
🔎 Codex reviewer —
|
Mixing a crates.io sparq-core/engine with a git or path sparq-reason-el, sparq-reason-ql or sparq-arrow yields distinct Dict/Query/QueryResult types, so the recipes now take every collaborating crate from git. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01MUY53os6oSKvmT9gCqdzud
🔎 Codex reviewer —
|
- sparq-engine-service quickstart used with_service_egress_allow, which only blocks private addresses; it now uses with_service_egress_policy(true, ..) so only the listed host is dialled, as the comment says. - Remove leftover model tags and "Model:" notes from skills/ and crate READMEs (#6673 removed the convention). Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01MUY53os6oSKvmT9gCqdzud
🔎 Codex reviewer —
|
The previous strip also deleted every `()` on lines carrying a tag and every " ()" across the touched files, breaking examples such as `.text()`, `.arrayBuffer()` and `Result<(), String>`. Revert it and strip only the tags themselves (plus "Model:" notes); `()` counts and spacing punctuation are now identical to before the strip in every touched file. Keeps the strict SERVICE egress quickstart. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01MUY53os6oSKvmT9gCqdzud
🔎 Codex reviewer —
|
…cipe Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01MUY53os6oSKvmT9gCqdzud
🔎 Codex reviewer —
|
Spaces inside bold markers in skills/mpc, a doubled blank line in two READMEs, and an orphaned provenance comment in sparq-trust. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01MUY53os6oSKvmT9gCqdzud
🔎 Codex reviewer —
|
…tatus match main Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01MUY53os6oSKvmT9gCqdzud
🔎 Codex reviewer —
|
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01MUY53os6oSKvmT9gCqdzud
🔎 Codex reviewer —
|
…tion The router carried frozen copies of old per-skill descriptions and status notes that had drifted from the skills (a JS import subpath the package no longer exports, SHACL strict validation and features reported as missing, stale CLI/JSON-LD notes). Each entry now reproduces the skill's current frontmatter description verbatim. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01MUY53os6oSKvmT9gCqdzud
🔎 Codex reviewer —
|
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01MUY53os6oSKvmT9gCqdzud
🔎 Codex reviewer —
|
…ift-2026-10 # Conflicts: # crates/sparq-mcp/README.md # skills/http-server/SKILL.md
🔎 Codex reviewer —
|
Requested by Jesse · project thread
Summary
Before: after this week's merges, many
skills/*/SKILL.mdfiles and crate READMEs described APIs, publish status and build membership that no longer match main. Several ZK/MPC/policy recipes did not compile against current signatures, unpublished crates showed crates.io badges and"0.1"install lines, published crates were described aspublish = false, and some docs named files, tests and flags that have moved or never existed.After: every skill and crate README was checked against main's public API (types, signatures, features, CLI flags, HTTP behaviour, file paths, publish/default-member status) and the drift is fixed with minimal edits. Docs only; no code changes.
How: each claim was checked against source; Rust snippets in the ZK, MPC, trust, VC, policy, fedplan skills were compiled in scratch crates against the workspace; README doctests re-run for every edited README pulled in via
include_str!.Main groups of fixes:
sparq-jsonld,sparq-engine-serialize,sparq-engine-serviceare now published (docs saidpublish = false); unpublished crates (sparq-mcp,-solid,-geo,-rsp,-text,-vectors,-nlq,-arrow,-reason-el,-reason-ql, …) lose crates.io/docs.rs badges and"0.1"/cargo addinstall lines.sparq-cli/sparq-serverREADMEs note which features the crates.io package strips.sparq-introspect,sparq-canonandsparq-substratemembership claims corrected.zk-query-proofs(prover_toml_for,verify_manifest,revoke_prover_toml,AttestedStatusRef::clear, newProofManifestfields),mpc(non-exhaustiveMpcErrormatch),usage-control-policy(Sessionfields),genai-retrieval(named_graphreturnsOption),sparq-engine-servicequickstart.reasonsummary to stderr (fix(cli): keep reason's summary off stdout when writing the closure #6641),dumpstreaming (docs(performance): sparq-server/cli: wire write_turtle_streaming into CONSTRUCT/DESCRIBE (sq-0kq6k) #4313), substrate's float-comparison boundary fixed by fix(numeric): value xsd:float at f32 on comparison paths; correctly-rounded Dec::f64 #6671, VC proof-option validation (fix(vc): validate credential proof options before signing and verification #6589) and EdDSA proof config (fix(vc): match W3C EdDSA RDF proof configuration #6585), LWS per-resource WAC on notifications (feat(sparq-lws-core): sparq-lws-core: wire per-resource WAC into notification subscribe/receive (the #6388) and the reclaim race (fix(store): reclaim superseded and deleted blobs at commit instead of after the sweep #6675), engine DP planner now default-on when compiled, budget-truncated JSON streams (fix(engine): nested registry scopes, double SERVICE fetch, budget-truncated streams, LOAD blank nodes #6655).vector-search(MetaType/Nature,provable_disjoint_pairs),gpu-kernelshalf-open range,inferencen3 re-exports, moved engine test paths, JSON-LD and SHACL floors,--solid-authz-trust(env only), non-existent see-also skills, a stray tool-call fragment at the end ofgenai-retrieval.skills/SKILL.mdnow liststrust-graph.sparq-engine-service): now useswith_service_egress_policy(true, …), so only the listed host is dialled;with_service_egress_allowonly blocks private addresses.Dict/Query/QueryResulttypes match.site/specs/trust-expression.typ: the lastgithub.com/jeswr/sparqlink outsidesite/src(link only). The other remaining hits are historical records or the site guard's own pattern list.JSON-LD writing is documented as it is on main (the #6674 rewrite is not merged).
Closes #6327
Base gate (always required)
cargo build --workspacesucceeds. (docs-only change)cargo clippy --workspace --exclude sparq-py --all-targets -- -D warningsis clean. (no Rust source touched)cargo testpasses for every crate this PR touches:cargo test --docfor the 19 crates whose edited README is a doctest (algos, arrow, engine, geo, hdt, introspect, jsonld, mcp, nlq, policy, reason, reason-el, reason-ql, rsp, server, shacl, solid, text, vectors), all ok.Targeted re-evaluation (check the rows that apply to your change)
Ratchets and conventions
check-no-perf-numbers.py --enforce: 0 findings).check-readme-template.py --enforce: 0 deviations across 65 READMEs;check-skill-frontmatter.py: 50/50 valid.Security
🤖 Generated with Claude Code
https://claude.ai/code/session_01MUY53os6oSKvmT9gCqdzud
Generated by Claude Code